藉由上一篇建置完成的 Work Order派工單,這一篇我們新增ItemType的Server Event,並稍微理解一下Server Event到底做了些什麼,以及如何撰寫基本的Aras API。
在Aras Innovator中開發只需要在Method的ItemType新增物件,選擇自己的語言後可以開始撰寫,最後存檔並加入至自己的ItemType,或是其他功能上,就可以實現各種邏輯驗證、防呆、資料修正等等。
Method存放位置
Method介面
Aras事件相當多種,在官方11.0 SP9 Programmers Guide.pdf中 4.4.3節說到Server Event可用的事件處理如下清單,用途在於對資料表存取時的動作。
在這裡要注意到Aras的事件有個特色,就是OnBefore與OnAfter的差異,以及On的用途,下方圖解
舉例,當物件資料進行新增時,新增進入資料表Table前會執行一段事件,反之,完成新增後會執行一段事件,而且同一個事件區段內,可能會有多個Method執行。
當有越多Method執行相同邏輯迴圈時,可能要考慮到效能問題,降低Server的負擔。
新增方法
設定Event事件
輸入方法名稱後存檔
開啟方法輸入程式碼後存檔
驗證物件cost值是否在範圍之內
Innovator inn = this.getInnovator();
string costStr=this.getProperty("cost","");
int costInt=int.Parse(costStr);
if(costInt>1000 || costInt <10){
return inn.newError("Can't Cost >1000 || Cost<10");
}
return this;
新增一筆資料,並在Cost輸入1001存檔
Cost輸入1001存檔提示錯誤訊息
Cost輸入15存檔完成
修改此筆資料
Innovator inn = this.getInnovator();
string costStr=this.getProperty("cost","");
int costInt=int.Parse(costStr);
if(costInt>1000){
//return inn.newError("Can't Cost >1000 || Cost<10");
this.setProperty("cost","999");
}
return this;
下一篇介紹 Server Event-OnAfter 以及基本的API使用解說